	do j=1,nCellsOut
		i=meshCellOut(j)
		dpdt=(pnew(i)-p(i))/dt2
		drdt=(rhonew(i)-rho(i))/dt2
		dUdt(1:3)=(Unew(1:3,i)-U(1:3,i))/dt2

		call def_p_conv(Pobs,xLocation,xOut(1:3,j),areaOut(j),normalOut(1:3,j),&  ! def_p
				   pnew(i),rhonew(i),unew(1:3,i),sound,Pfon,dpdt,drdt,dudt,ttime,dtout,dt,m)
	end do
	if (mod(nstep,200).eq.0) then
	!	if (rank.eq.0) write(*,*) 'FW process started',ttime
		if (rank.eq.0) then
	!		if (ttime.gt.3e-3) read(*,*)
			do i=1,300000*nump
				Pobsw(i)=0d0
			end do
		end if

!		if (rank.eq.0) write(*,*) 'FW Pobsw zero finished',ttime

		call MPI_Gather(Pobs,300000, MPI_DOUBLE_PRECISION,Pobsw,300000, MPI_DOUBLE_PRECISION,0,MPI_COMM_WORLD,ierr)

!		if (rank.eq.0) write(*,*) 'FW net process finished',ttime
		if (rank.eq.0) then
			do i=2,nump
				do j=1,300000
					Pobsw(j)=Pobsw(j)+Pobsw(j+(i-1)*300000)
				end do
			end do
			write(*,*) 'FW process finished',ttime
			rewind 21
			if(mod(nstep/200,2).eq.0)then
                open(21,file='Pobs1.csv')
				do i=1,300000
					write(21,*) dtout*(i-1),char(44),Pobsw(i)
				end do
				close(21)
			else
                open(22,file='Pobs2.csv')
				do i=1,300000
					write(22,*) dtout*(i-1),char(44),Pobsw(i)
				end do
			    close(22)
			end if
		end if
	end if
